package com.tanhua.server.service;

/**
 * @Author: cl
 * @Date: 2022/5/10 - 05 - 10
 * @Description:
 */

import com.tanhua.dubbo.api.UserLocationApi;
import com.tanhua.model.vo.ErrorResult;
import com.tanhua.server.exception.BusinessException;
import com.tanhua.server.interceptor.UserHolder;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

/**
 * 用户地理位置模块
 */
@Service
public class BaiduService {

    //地理位置服务
    @DubboReference
    private UserLocationApi userLocationApi;

    /**
     * 上传当前地理位置
     *
     * @param userId
     * @param longitude
     * @param latitude
     * @param addrStr
     */
    public void location(Long userId, Double longitude, Double latitude, String addrStr) {

        //调用地理位置服务，上传或者更新位置信息
        boolean b = userLocationApi.updateLocation(UserHolder.getUserId(), longitude, latitude, addrStr);

        if (!b) {
            //如果失败，抛出异常
            throw new BusinessException(ErrorResult.error());
        }
    }
}
